/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package GUI;

import ClasesBase.TextFilter;
import Extras.GestorEstilos;
import Extras.HeaderCellRenderer;
import Extras.Mensajes;
import Extras.TableCellRendererPropio;
import Gestores.GestorCliente;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Franco
 */
public class ComerciarD extends javax.swing.JDialog {

    private GestorCliente gestorCliente;

    /**
     * Creates new form ComerciarD
     */
    public ComerciarD(java.awt.Frame parent, boolean modal, GestorCliente gestorCliente) {
        super(parent, modal);
        initComponents();
        this.getRootPane().putClientProperty("Synthetica.titlePane.enabled", false);
        setLocationRelativeTo(null);
        setearPropiedadesTablas();
        crearColumnasInvisibles();
        this.jL_esperandoRespuesta.setVisible(false);
        this.gestorCliente = gestorCliente;
        this.jTF_dineroOfrecido.setDocument(new TextFilter(TextFilter.DIGITS));
        GestorEstilos.pintar(this);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jT_propiedadesPropias = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jT_propiedadesOponente = new javax.swing.JTable();
        jCB_oponentes = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jT_propiedadesOfrecidas = new javax.swing.JTable();
        jScrollPane4 = new javax.swing.JScrollPane();
        jT_propiedadesAPedirOponente = new javax.swing.JTable();
        jLabel4 = new javax.swing.JLabel();
        jB_seleccionarUnoOpo = new javax.swing.JButton();
        jB_seleccionarTodosOpo = new javax.swing.JButton();
        jB_deseleccionarUnoOpo = new javax.swing.JButton();
        jB_deseleccionarTodosOpo = new javax.swing.JButton();
        jB_seleccionarUnoYo = new javax.swing.JButton();
        jB_seleccionarTodosYo = new javax.swing.JButton();
        jB_deseleccionarUnoYo = new javax.swing.JButton();
        jB_deseleccionarTodosYo = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        jTF_dineroOfrecido = new javax.swing.JTextField();
        jB_ofrecerIntercambio = new javax.swing.JButton();
        jB_Cancelar = new javax.swing.JToggleButton();
        jL_esperandoRespuesta = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setMaximumSize(new java.awt.Dimension(904, 522));
        setMinimumSize(new java.awt.Dimension(904, 522));
        setPreferredSize(new java.awt.Dimension(904, 522));
        getContentPane().setLayout(null);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel1.setText("Propiedades propias :");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(10, 216, 200, 17);

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel2.setText("Propiedades de :");
        getContentPane().add(jLabel2);
        jLabel2.setBounds(10, 19, 120, 17);

        jT_propiedadesPropias.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Tipo", "Color", "id"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jT_propiedadesPropias.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jT_propiedadesPropiasMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jT_propiedadesPropias);
        if (jT_propiedadesPropias.getColumnModel().getColumnCount() > 0) {
            jT_propiedadesPropias.getColumnModel().getColumn(0).setResizable(false);
            jT_propiedadesPropias.getColumnModel().getColumn(1).setResizable(false);
            jT_propiedadesPropias.getColumnModel().getColumn(2).setResizable(false);
            jT_propiedadesPropias.getColumnModel().getColumn(3).setResizable(false);
        }

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(10, 239, 385, 163);

        jT_propiedadesOponente.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Tipo", "Color", "id"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jT_propiedadesOponente.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jT_propiedadesOponenteMouseClicked(evt);
            }
        });
        jScrollPane2.setViewportView(jT_propiedadesOponente);
        if (jT_propiedadesOponente.getColumnModel().getColumnCount() > 0) {
            jT_propiedadesOponente.getColumnModel().getColumn(0).setResizable(false);
            jT_propiedadesOponente.getColumnModel().getColumn(1).setResizable(false);
            jT_propiedadesOponente.getColumnModel().getColumn(2).setResizable(false);
            jT_propiedadesOponente.getColumnModel().getColumn(3).setResizable(false);
        }

        getContentPane().add(jScrollPane2);
        jScrollPane2.setBounds(10, 48, 385, 162);

        jCB_oponentes.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jCB_oponentes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCB_oponentesActionPerformed(evt);
            }
        });
        getContentPane().add(jCB_oponentes);
        jCB_oponentes.setBounds(127, 16, 230, 23);

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel3.setText("Propiedades ofrecidas:");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(464, 216, 200, 17);

        jT_propiedadesOfrecidas.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Tipo", "Color", "id"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane3.setViewportView(jT_propiedadesOfrecidas);
        if (jT_propiedadesOfrecidas.getColumnModel().getColumnCount() > 0) {
            jT_propiedadesOfrecidas.getColumnModel().getColumn(0).setResizable(false);
            jT_propiedadesOfrecidas.getColumnModel().getColumn(1).setResizable(false);
            jT_propiedadesOfrecidas.getColumnModel().getColumn(2).setResizable(false);
            jT_propiedadesOfrecidas.getColumnModel().getColumn(3).setResizable(false);
        }

        getContentPane().add(jScrollPane3);
        jScrollPane3.setBounds(464, 239, 414, 163);

        jT_propiedadesAPedirOponente.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre", "Tipo", "Color", "id"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane4.setViewportView(jT_propiedadesAPedirOponente);
        if (jT_propiedadesAPedirOponente.getColumnModel().getColumnCount() > 0) {
            jT_propiedadesAPedirOponente.getColumnModel().getColumn(0).setResizable(false);
            jT_propiedadesAPedirOponente.getColumnModel().getColumn(1).setResizable(false);
            jT_propiedadesAPedirOponente.getColumnModel().getColumn(2).setResizable(false);
            jT_propiedadesAPedirOponente.getColumnModel().getColumn(3).setResizable(false);
        }

        getContentPane().add(jScrollPane4);
        jScrollPane4.setBounds(464, 48, 414, 162);

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel4.setText("Propiedades a pedir:");
        getContentPane().add(jLabel4);
        jLabel4.setBounds(464, 19, 210, 17);

        jB_seleccionarUnoOpo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png"))); // NOI18N
        jB_seleccionarUnoOpo.setEnabled(false);
        jB_seleccionarUnoOpo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoOpoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoOpoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoOpoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoOpoMouseReleased(evt);
            }
        });
        jB_seleccionarUnoOpo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_seleccionarUnoOpoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_seleccionarUnoOpo);
        jB_seleccionarUnoOpo.setBounds(404, 62, 49, 23);

        jB_seleccionarTodosOpo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA ON.png"))); // NOI18N
        jB_seleccionarTodosOpo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosOpoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosOpoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosOpoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosOpoMouseReleased(evt);
            }
        });
        jB_seleccionarTodosOpo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_seleccionarTodosOpoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_seleccionarTodosOpo);
        jB_seleccionarTodosOpo.setBounds(404, 91, 49, 23);

        jB_deseleccionarUnoOpo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ ON.png"))); // NOI18N
        jB_deseleccionarUnoOpo.setEnabled(false);
        jB_deseleccionarUnoOpo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoOpoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoOpoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoOpoMousePressed(evt);
            }
        });
        jB_deseleccionarUnoOpo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_deseleccionarUnoOpoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_deseleccionarUnoOpo);
        jB_deseleccionarUnoOpo.setBounds(404, 180, 49, 23);

        jB_deseleccionarTodosOpo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png"))); // NOI18N
        jB_deseleccionarTodosOpo.setEnabled(false);
        jB_deseleccionarTodosOpo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosOpoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosOpoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosOpoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosOpoMouseReleased(evt);
            }
        });
        jB_deseleccionarTodosOpo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_deseleccionarTodosOpoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_deseleccionarTodosOpo);
        jB_deseleccionarTodosOpo.setBounds(404, 150, 49, 23);

        jB_seleccionarUnoYo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png"))); // NOI18N
        jB_seleccionarUnoYo.setEnabled(false);
        jB_seleccionarUnoYo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoYoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoYoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoYoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_seleccionarUnoYoMouseReleased(evt);
            }
        });
        jB_seleccionarUnoYo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_seleccionarUnoYoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_seleccionarUnoYo);
        jB_seleccionarUnoYo.setBounds(404, 250, 49, 23);

        jB_seleccionarTodosYo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA ON.png"))); // NOI18N
        jB_seleccionarTodosYo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosYoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosYoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosYoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_seleccionarTodosYoMouseReleased(evt);
            }
        });
        jB_seleccionarTodosYo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_seleccionarTodosYoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_seleccionarTodosYo);
        jB_seleccionarTodosYo.setBounds(404, 280, 49, 23);

        jB_deseleccionarUnoYo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ ON.png"))); // NOI18N
        jB_deseleccionarUnoYo.setEnabled(false);
        jB_deseleccionarUnoYo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoYoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoYoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoYoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_deseleccionarUnoYoMouseReleased(evt);
            }
        });
        jB_deseleccionarUnoYo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_deseleccionarUnoYoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_deseleccionarUnoYo);
        jB_deseleccionarUnoYo.setBounds(404, 370, 49, 23);

        jB_deseleccionarTodosYo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png"))); // NOI18N
        jB_deseleccionarTodosYo.setEnabled(false);
        jB_deseleccionarTodosYo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosYoMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosYoMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosYoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_deseleccionarTodosYoMouseReleased(evt);
            }
        });
        jB_deseleccionarTodosYo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_deseleccionarTodosYoActionPerformed(evt);
            }
        });
        getContentPane().add(jB_deseleccionarTodosYo);
        jB_deseleccionarTodosYo.setBounds(404, 340, 49, 23);

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel5.setText("Dinero a ofrecer:");
        getContentPane().add(jLabel5);
        jLabel5.setBounds(10, 408, 150, 17);

        jTF_dineroOfrecido.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
        getContentPane().add(jTF_dineroOfrecido);
        jTF_dineroOfrecido.setBounds(130, 410, 109, 22);

        jB_ofrecerIntercambio.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jB_ofrecerIntercambio.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/OFRECERINTERCAMBIO ON.png"))); // NOI18N
        jB_ofrecerIntercambio.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_ofrecerIntercambioMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_ofrecerIntercambioMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_ofrecerIntercambioMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_ofrecerIntercambioMouseReleased(evt);
            }
        });
        jB_ofrecerIntercambio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_ofrecerIntercambioActionPerformed(evt);
            }
        });
        getContentPane().add(jB_ofrecerIntercambio);
        jB_ofrecerIntercambio.setBounds(10, 450, 200, 23);

        jB_Cancelar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jB_Cancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Botones/CANCELAR2 ON.png"))); // NOI18N
        jB_Cancelar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jB_CancelarMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                jB_CancelarMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jB_CancelarMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jB_CancelarMouseReleased(evt);
            }
        });
        jB_Cancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jB_CancelarActionPerformed(evt);
            }
        });
        getContentPane().add(jB_Cancelar);
        jB_Cancelar.setBounds(670, 450, 200, 23);

        jL_esperandoRespuesta.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jL_esperandoRespuesta.setForeground(new java.awt.Color(204, 0, 0));
        jL_esperandoRespuesta.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jL_esperandoRespuesta.setText("Esperando respuesta de jugador");
        getContentPane().add(jL_esperandoRespuesta);
        jL_esperandoRespuesta.setBounds(220, 454, 440, 20);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jB_seleccionarUnoYoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoYoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesPropias.getModel();
        String nombre = (String) dtm.getValueAt(jT_propiedadesPropias.getSelectedRow(), 0);
        String tipo = (String) dtm.getValueAt(jT_propiedadesPropias.getSelectedRow(), 1);
        String color = (String) dtm.getValueAt(jT_propiedadesPropias.getSelectedRow(), 2);
        String id = (String) dtm.getValueAt(jT_propiedadesPropias.getSelectedRow(), 3);

        dtm.removeRow(jT_propiedadesPropias.getSelectedRow());

        DefaultTableModel dtmSel = (DefaultTableModel) jT_propiedadesOfrecidas.getModel();
        dtmSel.addRow(new Object[]{nombre, tipo, color, id});

        if (jT_propiedadesPropias.getRowCount() == 0) {
            jB_seleccionarTodosYo.setEnabled(false);
            jB_seleccionarUnoYo.setEnabled(false);
        } else {
            jB_seleccionarTodosYo.setEnabled(true);
            jB_seleccionarUnoYo.setEnabled(true);
        }

        if (jT_propiedadesOfrecidas.getRowCount() > 0) {
            jB_deseleccionarTodosYo.setEnabled(true);
            jB_deseleccionarUnoYo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesOfrecidas.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOfrecidas.getRowCount() - 1, jT_propiedadesOfrecidas.getRowCount() - 1);
        }

        if (jT_propiedadesPropias.getRowCount() > 0) {
            ListSelectionModel selectionModel = jT_propiedadesPropias.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesPropias.getRowCount() - 1, jT_propiedadesPropias.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_seleccionarUnoYoActionPerformed

    private void jB_deseleccionarUnoYoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoYoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesOfrecidas.getModel();
        String nombre = (String) dtm.getValueAt(jT_propiedadesOfrecidas.getSelectedRow(), 0);
        String color = (String) dtm.getValueAt(jT_propiedadesOfrecidas.getSelectedRow(), 1);
        String valorHipotecario = (String) dtm.getValueAt(jT_propiedadesOfrecidas.getSelectedRow(), 2);
        String id = (String) dtm.getValueAt(jT_propiedadesOfrecidas.getSelectedRow(), 3);

        dtm.removeRow(jT_propiedadesOfrecidas.getSelectedRow());

        DefaultTableModel dtmHipo = (DefaultTableModel) jT_propiedadesPropias.getModel();
        dtmHipo.addRow(new Object[]{nombre, color, valorHipotecario, id});

        if (jT_propiedadesOfrecidas.getRowCount() == 0) {
            jB_deseleccionarTodosYo.setEnabled(false);
            jB_deseleccionarUnoYo.setEnabled(false);
        } else {
            jB_deseleccionarTodosYo.setEnabled(true);
            jB_deseleccionarUnoYo.setEnabled(true);
        }

        if (jT_propiedadesPropias.getRowCount() > 0) {
            jB_seleccionarTodosYo.setEnabled(true);
        }

        if (jT_propiedadesPropias.getRowCount() > 0) {
            jB_seleccionarTodosYo.setEnabled(true);
            jB_seleccionarUnoYo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesPropias.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesPropias.getRowCount() - 1, jT_propiedadesPropias.getRowCount() - 1);
        }

        if (jT_propiedadesOfrecidas.getRowCount() > 0) {
            ListSelectionModel selectionModel = jT_propiedadesOfrecidas.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOfrecidas.getRowCount() - 1, jT_propiedadesOfrecidas.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_deseleccionarUnoYoActionPerformed

    private void jB_seleccionarUnoOpoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoOpoMouseEntered
        if (jB_seleccionarUnoOpo.isEnabled()) {
            jB_seleccionarUnoOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA SEL.png")));
        }
    }//GEN-LAST:event_jB_seleccionarUnoOpoMouseEntered

    private void jB_seleccionarUnoOpoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoOpoMouseExited
        if (jB_seleccionarUnoOpo.isEnabled()) {
            jB_seleccionarUnoOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
        }
    }//GEN-LAST:event_jB_seleccionarUnoOpoMouseExited

    private void jB_seleccionarUnoOpoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoOpoMousePressed
        jB_seleccionarUnoOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA OFF.png")));
    }//GEN-LAST:event_jB_seleccionarUnoOpoMousePressed

    private void jB_seleccionarUnoOpoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoOpoMouseReleased
        jB_seleccionarUnoOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
    }//GEN-LAST:event_jB_seleccionarUnoOpoMouseReleased

    private void jB_seleccionarTodosOpoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosOpoMouseEntered
        if (jB_seleccionarTodosOpo.isEnabled()) {
            jB_seleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA SEL.png")));
        }
    }//GEN-LAST:event_jB_seleccionarTodosOpoMouseEntered

    private void jB_seleccionarTodosOpoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosOpoMouseExited
        if (jB_seleccionarTodosOpo.isEnabled()) {
            jB_seleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA ON.png")));
        }
    }//GEN-LAST:event_jB_seleccionarTodosOpoMouseExited

    private void jB_seleccionarTodosOpoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosOpoMousePressed
        jB_seleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA OFF.png")));
    }//GEN-LAST:event_jB_seleccionarTodosOpoMousePressed

    private void jB_seleccionarTodosOpoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosOpoMouseReleased
        jB_seleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA ON.png")));
    }//GEN-LAST:event_jB_seleccionarTodosOpoMouseReleased

    private void jB_deseleccionarTodosOpoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosOpoMouseEntered
        if (jB_deseleccionarTodosOpo.isEnabled()) {
            jB_deseleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ SEL.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarTodosOpoMouseEntered

    private void jB_deseleccionarTodosOpoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosOpoMouseExited
        if (jB_deseleccionarTodosOpo.isEnabled()) {
            jB_deseleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarTodosOpoMouseExited

    private void jB_deseleccionarTodosOpoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosOpoMousePressed
        jB_deseleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ OFF.png")));
    }//GEN-LAST:event_jB_deseleccionarTodosOpoMousePressed

    private void jB_deseleccionarTodosOpoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosOpoMouseReleased
        jB_deseleccionarTodosOpo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png")));
    }//GEN-LAST:event_jB_deseleccionarTodosOpoMouseReleased

    private void jB_deseleccionarUnoOpoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoOpoMouseEntered
        if (jB_deseleccionarUnoYo.isEnabled()) {
            jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ SEL.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarUnoOpoMouseEntered

    private void jB_deseleccionarUnoOpoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoOpoMouseExited
        if (jB_deseleccionarUnoYo.isEnabled()) {
            jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ ON.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarUnoOpoMouseExited

    private void jB_deseleccionarUnoOpoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoOpoMousePressed
        jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ SEL.png")));
    }//GEN-LAST:event_jB_deseleccionarUnoOpoMousePressed

    private void jB_seleccionarUnoYoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoYoMouseEntered
        if (jB_seleccionarUnoYo.isEnabled()) {
            jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA SEL.png")));
        }
    }//GEN-LAST:event_jB_seleccionarUnoYoMouseEntered

    private void jB_seleccionarUnoYoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoYoMouseExited
        if (jB_seleccionarUnoYo.isEnabled()) {
            jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
        }
    }//GEN-LAST:event_jB_seleccionarUnoYoMouseExited

    private void jB_seleccionarUnoYoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoYoMousePressed
        jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA OFF.png")));
    }//GEN-LAST:event_jB_seleccionarUnoYoMousePressed

    private void jB_seleccionarUnoYoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoYoMouseReleased
        jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
    }//GEN-LAST:event_jB_seleccionarUnoYoMouseReleased

    private void jB_seleccionarTodosYoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosYoMouseEntered
        if (jB_seleccionarTodosYo.isEnabled()) {
            jB_seleccionarTodosYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARADERECHA SEL.png")));
        }
    }//GEN-LAST:event_jB_seleccionarTodosYoMouseEntered

    private void jB_seleccionarTodosYoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosYoMouseExited
        if (jB_seleccionarTodosYo.isEnabled()) {
            jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
        }
    }//GEN-LAST:event_jB_seleccionarTodosYoMouseExited

    private void jB_seleccionarTodosYoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosYoMousePressed
        jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA OFF.png")));
    }//GEN-LAST:event_jB_seleccionarTodosYoMousePressed

    private void jB_seleccionarTodosYoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosYoMouseReleased
        jB_seleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARADERECHA ON.png")));
    }//GEN-LAST:event_jB_seleccionarTodosYoMouseReleased

    private void jB_deseleccionarTodosYoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosYoMouseEntered
        if (jB_deseleccionarTodosYo.isEnabled()) {
            jB_deseleccionarTodosYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ SEL.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarTodosYoMouseEntered

    private void jB_deseleccionarTodosYoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosYoMouseExited
        if (jB_deseleccionarTodosYo.isEnabled()) {
            jB_deseleccionarTodosYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarTodosYoMouseExited

    private void jB_deseleccionarTodosYoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosYoMousePressed
        jB_deseleccionarTodosYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ OFF.png")));
    }//GEN-LAST:event_jB_deseleccionarTodosYoMousePressed

    private void jB_deseleccionarTodosYoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosYoMouseReleased
        jB_deseleccionarTodosYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/TODOSPARAIZQ ON.png")));
    }//GEN-LAST:event_jB_deseleccionarTodosYoMouseReleased

    private void jB_deseleccionarUnoYoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoYoMouseEntered
        if (jB_deseleccionarUnoYo.isEnabled()) {
            jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ SEL.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarUnoYoMouseEntered

    private void jB_deseleccionarUnoYoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoYoMouseExited
        if (jB_deseleccionarUnoYo.isEnabled()) {
            jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ ON.png")));
        }
    }//GEN-LAST:event_jB_deseleccionarUnoYoMouseExited

    private void jB_deseleccionarUnoYoMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoYoMousePressed
        jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ OFF.png")));
    }//GEN-LAST:event_jB_deseleccionarUnoYoMousePressed

    private void jB_deseleccionarUnoYoMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoYoMouseReleased
        jB_deseleccionarUnoYo.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/UNOPARAIZQ ON.png")));
    }//GEN-LAST:event_jB_deseleccionarUnoYoMouseReleased

    private void jB_ofrecerIntercambioMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_ofrecerIntercambioMouseEntered
        if (jB_ofrecerIntercambio.isEnabled()) {
            jB_ofrecerIntercambio.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/OFRECERINTERCAMBIO SEL.png")));
        }
    }//GEN-LAST:event_jB_ofrecerIntercambioMouseEntered

    private void jB_ofrecerIntercambioMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_ofrecerIntercambioMouseExited
        if (jB_ofrecerIntercambio.isEnabled()) {
            jB_ofrecerIntercambio.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/OFRECERINTERCAMBIO ON.png")));
        }
    }//GEN-LAST:event_jB_ofrecerIntercambioMouseExited

    private void jB_ofrecerIntercambioMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_ofrecerIntercambioMousePressed
        jB_ofrecerIntercambio.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/OFRECERINTERCAMBIO OFF.png")));
    }//GEN-LAST:event_jB_ofrecerIntercambioMousePressed

    private void jB_ofrecerIntercambioMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_ofrecerIntercambioMouseReleased
        jB_ofrecerIntercambio.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/OFRECERINTERCAMBIO ON.png")));
    }//GEN-LAST:event_jB_ofrecerIntercambioMouseReleased

    private void jB_CancelarMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_CancelarMouseEntered
        if (jB_Cancelar.isEnabled()) {
            jB_Cancelar.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/CANCELAR2 SEL.png")));
        }
    }//GEN-LAST:event_jB_CancelarMouseEntered

    private void jB_CancelarMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_CancelarMouseExited
        if (jB_Cancelar.isEnabled()) {
            jB_Cancelar.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/CANCELAR2 ON.png")));
        }
    }//GEN-LAST:event_jB_CancelarMouseExited

    private void jB_CancelarMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_CancelarMousePressed
        jB_Cancelar.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/CANCELAR2 OFF.png")));
    }//GEN-LAST:event_jB_CancelarMousePressed

    private void jB_CancelarMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jB_CancelarMouseReleased
        jB_Cancelar.setIcon(new ImageIcon(getClass().getResource("/Imagenes/Botones/CANCELAR2 ON.png")));
    }//GEN-LAST:event_jB_CancelarMouseReleased

    private void jB_seleccionarUnoOpoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_seleccionarUnoOpoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesOponente.getModel();
        String nombre = (String) dtm.getValueAt(jT_propiedadesOponente.getSelectedRow(), 0);
        String tipo = (String) dtm.getValueAt(jT_propiedadesOponente.getSelectedRow(), 1);
        String color = (String) dtm.getValueAt(jT_propiedadesOponente.getSelectedRow(), 2);
        String id = (String) dtm.getValueAt(jT_propiedadesOponente.getSelectedRow(), 3);

        dtm.removeRow(jT_propiedadesOponente.getSelectedRow());

        DefaultTableModel dtmSel = (DefaultTableModel) jT_propiedadesAPedirOponente.getModel();
        dtmSel.addRow(new Object[]{nombre, tipo, color, id});

        if (jT_propiedadesOponente.getRowCount() == 0) {
            jB_seleccionarTodosOpo.setEnabled(false);
            jB_seleccionarUnoOpo.setEnabled(false);
        } else {
            jB_seleccionarTodosOpo.setEnabled(true);
            jB_seleccionarUnoOpo.setEnabled(true);
        }

        if (jT_propiedadesAPedirOponente.getRowCount() > 0) {
            jB_deseleccionarTodosOpo.setEnabled(true);
            jB_deseleccionarUnoOpo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesAPedirOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesAPedirOponente.getRowCount() - 1, jT_propiedadesAPedirOponente.getRowCount() - 1);
        }

        if (jT_propiedadesOponente.getRowCount() > 0) {
            ListSelectionModel selectionModel = jT_propiedadesOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOponente.getRowCount() - 1, jT_propiedadesOponente.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_seleccionarUnoOpoActionPerformed

    private void jB_seleccionarTodosOpoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosOpoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesOponente.getModel();
        DefaultTableModel dtmSel = (DefaultTableModel) jT_propiedadesAPedirOponente.getModel();
        String nombre;
        String tipo;
        String color;
        String id;

        while (jT_propiedadesOponente.getRowCount() != 0) {
            color = (String) dtm.getValueAt(0, 2);
            nombre = (String) dtm.getValueAt(0, 0);
            tipo = (String) dtm.getValueAt(0, 1);
            id = (String) dtm.getValueAt(0, 3);
            dtm.removeRow(0);
            dtmSel.addRow(new Object[]{nombre, tipo, color, id});
        }

        if (jT_propiedadesOponente.getRowCount() == 0) {
            jB_seleccionarTodosOpo.setEnabled(false);
            jB_seleccionarUnoOpo.setEnabled(false);
        } else {
            jB_seleccionarTodosOpo.setEnabled(true);
            jB_seleccionarUnoOpo.setEnabled(true);
        }

        if (jT_propiedadesAPedirOponente.getRowCount() > 0) {
            jB_deseleccionarTodosOpo.setEnabled(true);
            jB_deseleccionarUnoOpo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesAPedirOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesAPedirOponente.getRowCount() - 1, jT_propiedadesAPedirOponente.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_seleccionarTodosOpoActionPerformed

    private void jB_deseleccionarUnoOpoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_deseleccionarUnoOpoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesAPedirOponente.getModel();
        String nombre = (String) dtm.getValueAt(jT_propiedadesAPedirOponente.getSelectedRow(), 0);
        String color = (String) dtm.getValueAt(jT_propiedadesAPedirOponente.getSelectedRow(), 1);
        String valorHipotecario = (String) dtm.getValueAt(jT_propiedadesAPedirOponente.getSelectedRow(), 2);
        String id = (String) dtm.getValueAt(jT_propiedadesAPedirOponente.getSelectedRow(), 3);

        dtm.removeRow(jT_propiedadesAPedirOponente.getSelectedRow());

        DefaultTableModel dtmHipo = (DefaultTableModel) jT_propiedadesOponente.getModel();
        dtmHipo.addRow(new Object[]{nombre, color, valorHipotecario, id});

        if (jT_propiedadesAPedirOponente.getRowCount() == 0) {
            jB_deseleccionarTodosOpo.setEnabled(false);
            jB_deseleccionarUnoOpo.setEnabled(false);
        } else {
            jB_deseleccionarTodosOpo.setEnabled(true);
            jB_deseleccionarUnoOpo.setEnabled(true);
        }

        if (jT_propiedadesOponente.getRowCount() > 0) {
            jB_seleccionarTodosOpo.setEnabled(true);
            jB_seleccionarUnoOpo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOponente.getRowCount() - 1, jT_propiedadesOponente.getRowCount() - 1);
        }

        if (jT_propiedadesAPedirOponente.getRowCount() > 0) {
            ListSelectionModel selectionModel = jT_propiedadesAPedirOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesAPedirOponente.getRowCount() - 1, jT_propiedadesAPedirOponente.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_deseleccionarUnoOpoActionPerformed

    private void jB_deseleccionarTodosOpoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosOpoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesAPedirOponente.getModel();
        DefaultTableModel dtmHip = (DefaultTableModel) jT_propiedadesOponente.getModel();
        String nombre;
        String tipo;
        String color;
        String id;
        while (jT_propiedadesAPedirOponente.getRowCount() != 0) {
            nombre = (String) dtm.getValueAt(0, 0);
            tipo = (String) dtm.getValueAt(0, 1);
            color = (String) dtm.getValueAt(0, 2);
            id = (String) dtm.getValueAt(0, 3);
            dtm.removeRow(0);
            dtmHip.addRow(new Object[]{nombre, tipo, color, id});
        }

        if (jT_propiedadesAPedirOponente.getRowCount() == 0) {
            jB_deseleccionarTodosOpo.setEnabled(false);
            jB_deseleccionarUnoOpo.setEnabled(false);
        } else {
            jB_deseleccionarTodosOpo.setEnabled(false);
            jB_deseleccionarUnoOpo.setEnabled(false);
        }

        if (jT_propiedadesOponente.getRowCount() > 0) {
            jB_seleccionarTodosOpo.setEnabled(true);
            jB_seleccionarUnoOpo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesOponente.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOponente.getRowCount() - 1, jT_propiedadesOponente.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_deseleccionarTodosOpoActionPerformed

    private void jB_seleccionarTodosYoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_seleccionarTodosYoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesPropias.getModel();
        DefaultTableModel dtmSel = (DefaultTableModel) jT_propiedadesOfrecidas.getModel();
        String nombre;
        String tipo;
        String color;
        String id;

        while (jT_propiedadesPropias.getRowCount() != 0) {
            color = (String) dtm.getValueAt(0, 2);
            nombre = (String) dtm.getValueAt(0, 0);
            tipo = (String) dtm.getValueAt(0, 1);
            id = (String) dtm.getValueAt(0, 3);
            dtm.removeRow(0);
            dtmSel.addRow(new Object[]{nombre, tipo, color, id});
        }

        if (jT_propiedadesPropias.getRowCount() == 0) {
            jB_seleccionarTodosYo.setEnabled(false);
            jB_seleccionarUnoYo.setEnabled(false);
        } else {
            jB_seleccionarTodosYo.setEnabled(true);
            jB_seleccionarUnoYo.setEnabled(true);
        }

        if (jT_propiedadesOfrecidas.getRowCount() > 0) {
            jB_deseleccionarTodosYo.setEnabled(true);
            jB_deseleccionarUnoYo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesOfrecidas.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesOfrecidas.getRowCount() - 1, jT_propiedadesOfrecidas.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_seleccionarTodosYoActionPerformed

    private void jB_deseleccionarTodosYoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_deseleccionarTodosYoActionPerformed
        DefaultTableModel dtm = (DefaultTableModel) jT_propiedadesOfrecidas.getModel();
        DefaultTableModel dtmHip = (DefaultTableModel) jT_propiedadesPropias.getModel();
        String nombre;
        String tipo;
        String color;
        String id;
        while (jT_propiedadesOfrecidas.getRowCount() != 0) {
            nombre = (String) dtm.getValueAt(0, 0);
            tipo = (String) dtm.getValueAt(0, 1);
            color = (String) dtm.getValueAt(0, 2);
            id = (String) dtm.getValueAt(0, 3);
            dtm.removeRow(0);
            dtmHip.addRow(new Object[]{nombre, tipo, color, id});
        }

        if (jT_propiedadesOfrecidas.getRowCount() == 0) {
            jB_deseleccionarTodosYo.setEnabled(false);
            jB_deseleccionarUnoYo.setEnabled(false);
        } else {
            jB_deseleccionarTodosYo.setEnabled(true);
            jB_deseleccionarUnoYo.setEnabled(true);
        }

        if (jT_propiedadesPropias.getRowCount() > 0) {
            jB_seleccionarTodosYo.setEnabled(true);
            jB_seleccionarUnoYo.setEnabled(true);
            ListSelectionModel selectionModel = jT_propiedadesPropias.getSelectionModel();
            selectionModel.setSelectionInterval(jT_propiedadesPropias.getRowCount() - 1, jT_propiedadesPropias.getRowCount() - 1);
        }
    }//GEN-LAST:event_jB_deseleccionarTodosYoActionPerformed

    private void jB_ofrecerIntercambioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_ofrecerIntercambioActionPerformed
        if (this.jT_propiedadesAPedirOponente.getRowCount() == 0) {
            Mensajes.mostrarError("No se seleccionaron propiedades del oponente para solicitar.");
            return;
        }
        if (this.jT_propiedadesOfrecidas.getRowCount() == 0 && (this.jTF_dineroOfrecido.getText().compareTo("") == 0 || Integer.parseInt(this.jTF_dineroOfrecido.getText()) == 0)) {
            Mensajes.mostrarError("Debe ofrecer algo a cambio de las propiedades solicitadas.");
            return;
        }

        if (this.jTF_dineroOfrecido.getText().isEmpty()) {
            this.jTF_dineroOfrecido.setText(0 + "");
        }

        if (Integer.parseInt(this.jTF_dineroOfrecido.getText()) >= gestorCliente.getDineroEfectivo()) {
            Mensajes.mostrarError("El dinero ofrecido no puede ser mayor al que se tiene.");
            return;
        }

        this.gestorCliente.ofrecerIntercambio();

        this.jB_Cancelar.setEnabled(false);
        this.jB_ofrecerIntercambio.setEnabled(false);
        this.setEnabledBotonesOponente(false);
        this.setEnabledBotonesPropios(false);
        this.jL_esperandoRespuesta.setVisible(true);
    }//GEN-LAST:event_jB_ofrecerIntercambioActionPerformed

    private void jB_CancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jB_CancelarActionPerformed
        gestorCliente.avisarCancelacionAccion();
        dispose();
    }//GEN-LAST:event_jB_CancelarActionPerformed

    private void jT_propiedadesOponenteMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jT_propiedadesOponenteMouseClicked
        if (jT_propiedadesOponente.getRowCount() > 0) {
            this.jB_seleccionarUnoOpo.setEnabled(true);
        }
    }//GEN-LAST:event_jT_propiedadesOponenteMouseClicked

    private void jT_propiedadesPropiasMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jT_propiedadesPropiasMouseClicked
        if (jT_propiedadesPropias.getRowCount() > 0) {
            this.jB_seleccionarUnoYo.setEnabled(true);
        }
    }//GEN-LAST:event_jT_propiedadesPropiasMouseClicked

    private void jCB_oponentesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCB_oponentesActionPerformed
        gestorCliente.pedirPropiedadesOponenteComerciar(this.jCB_oponentes.getSelectedItem().toString());
    }//GEN-LAST:event_jCB_oponentesActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JToggleButton jB_Cancelar;
    private javax.swing.JButton jB_deseleccionarTodosOpo;
    private javax.swing.JButton jB_deseleccionarTodosYo;
    private javax.swing.JButton jB_deseleccionarUnoOpo;
    private javax.swing.JButton jB_deseleccionarUnoYo;
    private javax.swing.JButton jB_ofrecerIntercambio;
    private javax.swing.JButton jB_seleccionarTodosOpo;
    private javax.swing.JButton jB_seleccionarTodosYo;
    private javax.swing.JButton jB_seleccionarUnoOpo;
    private javax.swing.JButton jB_seleccionarUnoYo;
    private javax.swing.JComboBox jCB_oponentes;
    private javax.swing.JLabel jL_esperandoRespuesta;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JTextField jTF_dineroOfrecido;
    private javax.swing.JTable jT_propiedadesAPedirOponente;
    private javax.swing.JTable jT_propiedadesOfrecidas;
    private javax.swing.JTable jT_propiedadesOponente;
    private javax.swing.JTable jT_propiedadesPropias;
    // End of variables declaration//GEN-END:variables

    private void setearPropiedadesTablas() {
        HeaderCellRenderer hcr = new HeaderCellRenderer();
        TableCellRendererPropio tcrp = new TableCellRendererPropio();
        this.jT_propiedadesPropias.getTableHeader().setDefaultRenderer(hcr);
        this.jT_propiedadesPropias.setDefaultRenderer(String.class, tcrp);
        this.jT_propiedadesOponente.getTableHeader().setDefaultRenderer(hcr);
        this.jT_propiedadesOponente.setDefaultRenderer(String.class, tcrp);
        this.jT_propiedadesOfrecidas.getTableHeader().setDefaultRenderer(hcr);
        this.jT_propiedadesOfrecidas.setDefaultRenderer(String.class, tcrp);
        this.jT_propiedadesAPedirOponente.getTableHeader().setDefaultRenderer(hcr);
        this.jT_propiedadesAPedirOponente.setDefaultRenderer(String.class, tcrp);

        this.jT_propiedadesOponente.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        this.jT_propiedadesAPedirOponente.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        this.jT_propiedadesPropias.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        this.jT_propiedadesOfrecidas.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    }

    private void crearColumnasInvisibles() {
        jT_propiedadesOponente.getColumn("id").setMaxWidth(0);
        jT_propiedadesOponente.getColumn("id").setMinWidth(0);
        jT_propiedadesOponente.getColumn("id").setWidth(0);
        jT_propiedadesOponente.getColumn("id").setResizable(false);
        jT_propiedadesOponente.getColumn("id").setPreferredWidth(0);
        jT_propiedadesOponente.getColumn("Color").setResizable(false);
        jT_propiedadesPropias.getColumn("id").setMaxWidth(0);
        jT_propiedadesPropias.getColumn("id").setMinWidth(0);
        jT_propiedadesPropias.getColumn("id").setWidth(0);
        jT_propiedadesPropias.getColumn("id").setResizable(false);
        jT_propiedadesPropias.getColumn("id").setPreferredWidth(0);
        jT_propiedadesPropias.getColumn("Color").setResizable(false);
        jT_propiedadesOfrecidas.getColumn("id").setMaxWidth(0);
        jT_propiedadesOfrecidas.getColumn("id").setMinWidth(0);
        jT_propiedadesOfrecidas.getColumn("id").setWidth(0);
        jT_propiedadesOfrecidas.getColumn("id").setResizable(false);
        jT_propiedadesOfrecidas.getColumn("id").setPreferredWidth(0);
        jT_propiedadesOfrecidas.getColumn("Color").setResizable(false);
        jT_propiedadesAPedirOponente.getColumn("id").setMaxWidth(0);
        jT_propiedadesAPedirOponente.getColumn("id").setMinWidth(0);
        jT_propiedadesAPedirOponente.getColumn("id").setWidth(0);
        jT_propiedadesAPedirOponente.getColumn("id").setResizable(false);
        jT_propiedadesAPedirOponente.getColumn("id").setPreferredWidth(0);
        jT_propiedadesAPedirOponente.getColumn("Color").setResizable(false);
    }

    public JComboBox getComboContrincantes() {
        return this.jCB_oponentes;
    }

    public JTable getTablaPropiedadesOponente() {
        return this.jT_propiedadesOponente;
    }

    public void setEnabledBotonesOponente(boolean estado) {
        this.jB_deseleccionarTodosOpo.setEnabled(estado);
        this.jB_deseleccionarUnoOpo.setEnabled(estado);
        this.jB_seleccionarTodosOpo.setEnabled(estado);
        this.jB_seleccionarUnoOpo.setEnabled(estado);
    }

    public void setEnabledBotonesPropios(boolean estado) {
        this.jB_deseleccionarTodosYo.setEnabled(estado);
        this.jB_deseleccionarUnoYo.setEnabled(estado);
        this.jB_seleccionarTodosYo.setEnabled(estado);
        this.jB_seleccionarUnoYo.setEnabled(estado);
    }

    public JTable getTablaPropiedadesPropias() {
        return this.jT_propiedadesPropias;
    }

    public String getDineroOfrecido() {
        if (this.jTF_dineroOfrecido.getText().isEmpty()) {
            return "0";
        }
        return this.jTF_dineroOfrecido.getText();
    }

    public String getPropiedadesSolicitadas() {
        String propiedadesSolicitadas = "";
        for (int i = 0; i < jT_propiedadesAPedirOponente.getRowCount(); i++) {
            if (propiedadesSolicitadas.isEmpty()) {
                propiedadesSolicitadas += jT_propiedadesAPedirOponente.getValueAt(i, 3);
            } else {
                propiedadesSolicitadas += "-" + jT_propiedadesAPedirOponente.getValueAt(i, 3);
            }
        }
        return propiedadesSolicitadas;
    }

    public String getPropiedadesOfrecidas() {
        String propiedadesOfrecidas = "";
        if (jT_propiedadesOfrecidas.getRowCount() != 0) {
            for (int i = 0; i < jT_propiedadesOfrecidas.getRowCount(); i++) {
                if (propiedadesOfrecidas.isEmpty()) {
                    propiedadesOfrecidas += jT_propiedadesOfrecidas.getValueAt(i, 3);
                } else {
                    propiedadesOfrecidas += "-" + jT_propiedadesOfrecidas.getValueAt(i, 3);
                }
            }
        }
        return propiedadesOfrecidas;
    }

    public String getOponenteDeIntercambio() {
        return this.jCB_oponentes.getSelectedItem().toString();
    }

    public void limpiarTablas() {
        DefaultTableModel dtmPropiedadesAPedirOponente = (DefaultTableModel) jT_propiedadesAPedirOponente.getModel();
        DefaultTableModel dtmPropiedadesOponente = (DefaultTableModel) jT_propiedadesOponente.getModel();
        for (int i = 0; i < dtmPropiedadesAPedirOponente.getRowCount();) {
            dtmPropiedadesAPedirOponente.removeRow(0);
        }
        
        for (int i = 0; i < dtmPropiedadesOponente.getRowCount();) {
            dtmPropiedadesOponente.removeRow(0);
        }
    }

    public void reiniciarBotonesOponente() {
        this.jB_deseleccionarTodosOpo.setEnabled(false);
        this.jB_deseleccionarUnoOpo.setEnabled(false);
        this.jB_seleccionarTodosOpo.setEnabled(true);
        this.jB_seleccionarUnoOpo.setEnabled(false);
    }
}
